<HTML>
<HEAD>
<TITLE>JavaScript Source Code 3000:  Forms:  Line Wrapper</TITLE>
<META HTTP-EQUIV="JavaScript Source Code 3000" CONTENT = "no-cache">
<META NAME="date" CONTENT="2000-09-09">
<META NAME="channel" CONTENT="Web Developer">
<META NAME="author" CONTENT="JavaScript Source Code 3000">
<META NAME="section" CONTENT="Forms">
<META NAME="description" CONTENT="Wraps entries in a textarea box to whatever number of characters per line you want.  For example, The script can automatically insert a return after each 50 spaces, so that the form contents you receive are more readable.  (The script does indifferently break lines in mid-word, a possible fix for the next version?)">

<SCRIPT LANGUAGE="JavaScript">




<!-- Begin
function showLines(max, text) {
max--;
text = "" + text;
var temp = "";
var chcount = 0; 
for (var i = 0; i < text.length; i++) // for each character ... 
{   
var ch = text.substring(i, i+1); // first character
var ch2 = text.substring(i+1, i+2); // next character
if (ch == '\n') // if character is a hard return
{  
temp += ch;
chcount = 1;
}
else
{
if (chcount == max) // line has max chacters on this line
{
temp += '\n' + ch; // go to next line
chcount = 1; // reset chcount
}
else  // Not a newline or max characters ...
{
temp += ch;
chcount++; // so add 1 to chcount
      }
   }
}
return (temp); // sends value of temp back
}
//  End -->
</script>
</HEAD>

<BODY BGCOLOR=#ffffff vlink=#0000ff>

<BR>
<center>
<table width=600 cellpadding=0 cellspacing=10>
<tr>
<td width=468 align=center>

    
    
</td>
<td width=120 align=center>
    
</td>
</tr>
</table>
<BR>
<BR>
<basefont size=3>
<FONT SIZE="+2" FACE="Helvetica,Arial">
<A HREF="../index.htm" /" TARGET="_top"><FONT COLOR="#0000FF"><b>Home</b></font></A>
<img src="../img/arrow.gif" /img/arrow.gif" height=13 width=7 border=0 alt="}">
<A HREF="index.htm" /forms/" ><font color="#FF0000"><b>Forms</b></font></A>
<img src="../img/arrow.gif" /img/arrow.gif" height=13 width=7 border=0 alt="}">
<FONT COLOR="#006666"><b>Line Wrapper</b></font></font>
<BR>
<BR>
<table BORDER=0 WIDTH=486 CELLPADDING=3 CELLSPACING=0>
<tr><td><font FACE="helvetica,arial,geneva">
<br>
<br>
<!-- Description --><!--content_start-->
Wraps entries in a textarea box to whatever number of characters per line you want.  For example, The script can automatically insert a return after each 50 spaces, so that the form contents you receive are more readable.  (The script does indifferently break lines in mid-word, a possible fix for the next version?)
<hr>
</td></tr>
</table>
<!-- Demonstration -->
<center>
<form name=form1>
<textarea name=text1 rows=15 cols=50>This is just an example of a long textbox entry that just went on and on and on and on.....  The visitor did not hit <enter> when entering this information so it continued off the right side of the textarea box.  Notice that hitting <enter> after each line, like this:
This is on another line
And so is this one.....

Still wraps correctly.  Neat!</textarea><br>
<input type=button value="Wrap Lines to 50 Spaces"
onClick="this.form.text1.value = showLines(50, this.form.text1.value)">

<br><br>

<textarea name=text2 rows=15 cols=50 wrap=virtual>This is another example, but this time the textarea box has the "wrap=virtual" attribute, which makes each line wrap in the box rather than scrolling out the right side.  The script also correctly deals with this type of box.  Like before, notice that hitting <enter> after each line, like this:

This is on another line
And so is this one.....

Still wraps correctly.  Neat!</textarea><br>
<input type=button value="Wrap Lines to 50 Spaces"
onClick="this.form.text2.value = showLines(50, this.form.text2.value)">
</form>
</center>
<P>
<P>
<a name="source">
<table BORDER=0 WIDTH=486 CELLPADDING=3 CELLSPACING=0>
<tr><td BGCOLOR=yellow><font FACE="helvetica,arial,geneva"><b>JavaScript Source Code 3000:  Forms:  Line Wrapper</b>
<p>Simply click inside the window below, use your cursor to highlight the script, and copy (type Control-c or Apple-c) the script into a new file in your text editor (such as Note Pad or Simple Text) and save (Control-s or Apple-s).  The script is yours!!!
<br><br></font></td></tr>
<tr><td BGCOLOR=yellow ALIGN=CENTER>
<form NAME="copy">

<DIV align="center">
<input type=button value="Highlight All" onClick="javascript:this.form.txt.focus();this.form.txt.select();">&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE="text" NAME="total" VALUE="Script Size:  2.35 KB" size=24>
</DIV>

<textarea NAME="txt" ROWS=20 COLS=75 WRAP=VIRTUAL>

&lt;!-- TWO STEPS TO INSTALL LINE WRAPPER:

  1.  Copy the coding into the HEAD of your HTML document
  2.  Add the last code into the BODY of your HTML document  --&gt;

&lt;!-- STEP ONE: Paste this code into the HEAD of your HTML document  --&gt;

&lt;HEAD&gt;

&lt;SCRIPT LANGUAGE="JavaScript"&gt;

&lt;! &gt;
&lt;! &gt;

&lt;!-- Begin
function showLines(max, text) {
max--;
text = "" + text;
var temp = "";
var chcount = 0; 
for (var i = 0; i &lt; text.length; i++) // for each character ... 
{   
var ch = text.substring(i, i+1); // first character
var ch2 = text.substring(i+1, i+2); // next character
if (ch == '\n') // if character is a hard return
{  
temp += ch;
chcount = 1;
}
else
{
if (chcount == max) // line has max chacters on this line
{
temp += '\n' + ch; // go to next line
chcount = 1; // reset chcount
}
else  // Not a newline or max characters ...
{
temp += ch;
chcount++; // so add 1 to chcount
      }
   }
}
return (temp); // sends value of temp back
}
//  End --&gt;
&lt;/script&gt;
&lt;/HEAD&gt;

&lt;!-- STEP TWO: Copy this code into the BODY of your HTML document  --&gt;

&lt;BODY&gt;

&lt;center&gt;
&lt;form name=form1&gt;
&lt;textarea name=text1 rows=15 cols=50&gt;This is just an example of a long textbox entry that just went on and on and on and on.....  The visitor did not hit &lt;enter&gt; when entering this information so it continued off the right side of the textarea box.  Notice that hitting &lt;enter&gt; after each line, like this:
This is on another line
And so is this one.....

Still wraps correctly.  Neat!&lt;/textarea&gt;&lt;br&gt;
&lt;input type=button value="Wrap Lines to 50 Spaces"
onClick="this.form.text1.value = showLines(50, this.form.text1.value)"&gt;

&lt;br&gt;&lt;br&gt;

&lt;textarea name=text2 rows=15 cols=50 wrap=virtual&gt;This is another example, but this time the textarea box has the "wrap=virtual" attribute, which makes each line wrap in the box rather than scrolling out the right side.  The script also correctly deals with this type of box.  Like before, notice that hitting &lt;enter&gt; after each line, like this:

This is on another line
And so is this one.....

Still wraps correctly.  Neat!&lt;/textarea&gt;&lt;br&gt;
&lt;input type=button value="Wrap Lines to 50 Spaces"
onClick="this.form.text2.value = showLines(50, this.form.text2.value)"&gt;
&lt;/form&gt;
&lt;/center&gt;

 

&lt;!-- Script Size:  2.35 KB --&gt;</textarea><br><font FACE="helvetica,arial,geneva"></font></td></tr>

</table>
</form>
</FONT>
</CENTER>


</center>
</body></html>